home *** CD-ROM | disk | FTP | other *** search
/ Aminet 23 / Aminet 23 (1998)(GTI - Schatztruhe)[!][Feb 1998].iso / Aminet / dev / lang / nrcobol_1b.lha / NRCOBOL1b / COBFILES / HELLO3.COB < prev    next >
Text File  |  1997-06-25  |  2KB  |  63 lines

  1.       * ROUTINE TO DISPLAY A MULTIPLICATION GRID.
  2.        IDENTIFICATION DIVISION.
  3.        PROGRAM-ID.  HELLO3.
  4.        AUTHOR.      cHArRiOTt.
  5.       *
  6.        ENVIRONMENT DIVISION.
  7.       *
  8.        DATA DIVISION.
  9.        WORKING-STORAGE SECTION.
  10.        01  X-SCREEN-DFT    PIC 99 VALUE  10.
  11.        01  Y-SCREEN-DFT    PIC 99 VALUE  05.
  12.        01  Y-ROW           PIC 99.
  13.        01  X-COLUMN        PIC 99.
  14.        01  X-POS           PIC 99.
  15.        01  Y-POS           PIC 99.
  16.        01  XY-PRODUCT      PIC 9(3).
  17.        01  ws-limit        pic 99 value 0.
  18.       *
  19.       *
  20.        PROCEDURE DIVISION.
  21.        001-MAIN.
  22.            DISPLAY (1 , 10)
  23.            "Routine to CALCULATE and DISPLAY a MULTIPLICATION TABLE".
  24.            display (3 , 10) "Enter maximum table size <limit 10> :".
  25.            accept (3, 48) ws-limit.
  26.            if ws-limit > 1 and ws-limit < 11  then
  27.               MOVE 1 TO Y-ROW
  28.               PERFORM 002-ROWS               UNTIL Y-ROW > ws-limit
  29.            else
  30.               display (4 , 10) "Ending early, table outside range".
  31.            STOP RUN.
  32.       *
  33.       *
  34.        002-ROWS.
  35.            MOVE 1 TO X-COLUMN.
  36.            PERFORM 003-COLUMNS              
  37.                VARYING X-COLUMN FROM 1 BY 1 UNTIL X-COLUMN > ws-limit.
  38.            ADD 1 TO Y-ROW.
  39.            
  40.       *
  41.       *
  42.        003-COLUMNS.
  43.            MOVE ZEROS TO X-POS.
  44.            MULTIPLY X-COLUMN BY 5 GIVING    X-POS.
  45.            ADD X-SCREEN-DFT TO X-POS.
  46.       * 
  47.            MOVE ZEROS TO Y-POS.
  48.            MOVE Y-ROW TO Y-POS.
  49.            ADD Y-SCREEN-DFT TO Y-POS.
  50.       *
  51.            MULTIPLY Y-ROW BY X-COLUMN 
  52.                           GIVING    XY-PRODUCT.
  53.            PERFORM 004-DISPLAY-PRODUCT.
  54.       *
  55.       *                                                                
  56.        004-DISPLAY-PRODUCT.
  57.            MOVE Y-POS  TO LIN.
  58.            MOVE X-POS  TO COL.
  59.            DISPLAY (LIN , COL) XY-PRODUCT.
  60.       *
  61.       *
  62.       *****END*******************************************Š   
  63.